Skip to content

build_library: fix Exoscale image format, size, and compression#4075

Open
jheidel wants to merge 1 commit into
flatcar:mainfrom
jheidel:fix-exoscale-image
Open

build_library: fix Exoscale image format, size, and compression#4075
jheidel wants to merge 1 commit into
flatcar:mainfrom
jheidel:fix-exoscale-image

Conversation

@jheidel
Copy link
Copy Markdown

@jheidel jheidel commented Jun 7, 2026

Fix Exoscale image format, size, and compression

Exoscale requires Custom Templates to be at least 10GB, expects a .qcow2 extension, and Exoscale Custom Templates do not support compressed (.bz2) images. Currently, Flatcar releases an 8GB compressed .img.bz file.

This change ensures the output file uses the .qcow2 extension, applies a post-conversion resize to exactly 10G, and disables compression in the release pipeline, matching that of similar platforms (scaleway, etc).

This fixes flatcar/Flatcar#2163

How to use

Reviewers can verify that the generated .qcow2 image can be directly used by Exoscale Custom Template and that this instance can be used to create a new compute instance with 10G disk size.

Testing done

The changes were verified using the Flatcar SDK:

  1. Build base image and oem sysexts:
./run_sdk_container ./build_image --board=amd64-usr --getbinpkg
./run_sdk_container ./build_image --board=amd64-usr --getbinpkg oem_sysext
  1. Generate Exoscale image:
./run_sdk_container ./image_to_vm.sh --board=amd64-usr --getbinpkg --format=exoscale --image_compression_formats=none
  1. Verify image metadata:

    qemu-img info __build__/images/amd64-usr/latest/flatcar_production_exoscale_image.qcow2
     image: flatcar_production_exoscale_image.qcow2
     file format: qcow2
     virtual size: 10 GiB (10737418240 bytes)
     disk size: 522 MiB
    
  2. Real-world test: The resulting image was hosted on a public web server and successfully imported into Exoscale's 'Add Custom Template' UI without any manual renaming, resizing, or decompression required.

CI: https://jenkins.flatcar.org/job/container/job/packages_all_arches/163/cldsv/

Exoscale requires Custom Templates to be at least 10GB, expects a
.qcow2 extension, and Exoscale Custom Templates do not support
compressed (.bz2) images. Currently, Flatcar releases an 8GB
compressed .img file.

This change ensures the output file uses the .qcow2 extension,
applies a post-conversion resize to exactly 10G, and disables
compression in the release pipeline to match platform requirements
and UI prompts.

Signed-off-by: Jeff Heidel <jheidel@gmail.com>
@tormath1
Copy link
Copy Markdown
Contributor

tormath1 commented Jun 8, 2026

Hey @jheidel thanks a lot for your contribution, I kicked-off a CI job to see if everything continues to build correctly but the changes look good from a first look.

I was talking about Exoscale support a moment ago, and I'm wondering if the documentation is up-to-date for Exoscale: https://www.flatcar.org/docs/latest/installing/community-platforms/exoscale/ - did you use this documentation?

Copy link
Copy Markdown
Contributor

@tormath1 tormath1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a changelog entry in changelog/changes ?

@chewi
Copy link
Copy Markdown
Contributor

chewi commented Jun 8, 2026

Great to hear that someone is using Exoscale, as we were very doubtful! Also great to hear that this is (hopefully) the only issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Testing / in Review

Development

Successfully merging this pull request may close these issues.

Exoscale image cannot be used directly with Exoscale Custom Template

3 participants